FROM node:18-alpine

WORKDIR /app

COPY package*.json ./

RUN npm ci --only=production

# 复制所有文件
COPY . .

# 如果 .env.production 存在则重命名为 .env（在 deploy.ps1 中处理）
# 否则使用默认配置

ENV NODE_ENV=production

# 暴露端口（默认 3000，可通过 docker-compose.yml 覆盖）
EXPOSE 3000

HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD curl -f http://localhost:${PORT:-3000}/ || exit 1

CMD [ "node", "index.js" ]